Software-defined networking (Software Defined Network, SDN) is a new network architecture, which implements flexible control on network traffic by separating a control plane of a network device from a data plane.
During route configuration, a centralized control point controller in the SDN network may perform overall calculation on a network route according to a network environment, and deliver a forwarding table obtained through calculation to a corresponding forwarding node. In this way, the forwarding node may perform traffic forwarding by using the forwarding table received by the forwarding node.
In an actual application process, the SDN may support multiple network topologies. Therefore, the controller may obtain through calculation a forwarding table of each forwarding node in each topology, and deliver the forwarding table to a corresponding forwarding node. In this way, one forwarding node may save multiple forwarding tables. Moreover, switching between different forwarding tables is implemented under the control of the controller, so that the forwarding node can perform traffic forwarding by using a correct forwarding table.
Currently, the controller controls a forwarding node to switch a forwarding table mainly in the following two manners:
In the first manner, the controller delivers all switching instructions to all forwarding nodes in a network. In this manner, a forwarding node receiving the switching instruction is immediately switched from an old forwarding table to a new forwarding table according to the instruction. However, considering that it is impossible for all the forwarding nodes to complete forwarding table switching at a same moment, that is, in a switching process, some forwarding nodes have been switched to the new forwarding table according to the switching instruction, and use the new forwarding table to perform traffic forwarding, but some forwarding nodes are not switched to the new forwarding table, and use the old forwarding table to perform traffic forwarding. Consequently, link congestion may occur in a service migration process, and network performance deteriorates.
In the second manner, the controller delivers a switching instruction to forwarding nodes one by one. In this manner, a forwarding node receiving the switching instruction is immediately switched to a new forwarding table, and a forwarding node not receiving the switching instruction continues using the old forwarding table. Consequently, a time consumed in a switching process is long. In addition, link congestion may also occur, and network performance cannot be ensured.
In conclusion, the existing switching methods may lead to a link congestion problem. Currently, a new switching manner is urgently required.